import request from '@/utils/request'

/**
 * 获取商品列表
 * @param {Object} params - 查询参数
 * @param {number} params.page - 页码
 * @param {number} params.page_size - 每页数量
 * @param {string} params.sort - 排序方式
 * @param {boolean} params.priceAsc - 价格升序
 * @param {boolean} params.salesAsc - 销量升序
 * @param {boolean} params.include_specs - 是否包含规格
 * @returns {Promise}
 */
export function getGoodsList(params) {
  return request({
    url: '/goods/list',
    method: 'get',
    params
  })
}

// 获取商品详情
export function getGoodsDetail(id) {
  return request({
    url: `/goods/detail/${id}`,
    method: 'get'
  })
}

// 创建商品
export function createOrUpdateGoods(data) {
  return request({
    url: '/goods/updateCreate',
    method: 'post',
    data
  })
}

// // 更新商品
// export function updateGoods(id, data) {
//   return request({
//     url: `/goods/update/${id}`,
//     method: 'put',
//     data
//   })
// }

// 删除商品
export function deleteGoods(id) {
  return request({
    url: `/goods/delete/${id}`,
    method: 'delete'
  })
}

// 更新商品状态
export function updateGoodsStatus(id, data) {
  return request({
    url: `/goods/${id}/status`,
    method: 'put',
    data
  })
}

// 获取商品分类
export function getGoodsCategories() {
  return request({
    url: '/goods/categories',
    method: 'get'
  })
}

// 获取商品品牌
export function getGoodsBrands() {
  return request({
    url: '/goods/brands',
    method: 'get'
  })
}

// 上传商品图片
export function uploadGoodsImage(data) {
  return request({
    url: '/goods/upload',
    method: 'post',
    headers: {
      'Content-Type': 'multipart/form-data'
    },
    data
  })
}

// 获取商品价格历史记录
export function getGoodsPriceHistory(goodsId) {
  return request({
    url: `/goods/price/history/${goodsId}`,
    method: 'get'
  })
}

// 更新商品价格
export function updateGoodsPrice(data) {
  return request({
    url: '/goods/price/update',
    method: 'post',
    data
  })
}

// 导出商品价格
export function exportGoodsPrice(params) {
  return request({
    url: '/goods/price/export',
    method: 'get',
    params,
    responseType: 'blob'
  })
}

// 获取商品规格列表
export function getGoodsSpecs(params) {
  return request({
    url: `/goods/${params.goods_id}/specs`,
    method: 'get',
    params: {
      order_id: params.order_id,
      order_status: params.order_status,
      payment_status: params.payment_status
    }
  })
}

// 新增商品规格
export function addGoodsSpec(data) {
  return request({
    url: '/goods/specs',
    method: 'post',
    data
  })
}

// 更新商品规格
export function updateGoodsSpec(specId, data) {
  return request({
    url: `/goods/specs/${specId}`,
    method: 'put',
    data
  })
}

// 删除商品规格
export function deleteGoodsSpec(specId) {
  return request({
    url: `/goods/specs/${specId}`,
    method: 'delete'
  })
} 